package cn.iocoder.yudao.module.indicator.service.index;

import cn.iocoder.yudao.module.indicator.domain.dto.IndexCalculationDto;
import cn.iocoder.yudao.module.indicator.domain.vo.IndexCalculationVo;

public interface IndexCalculationService {

    /**
     * 功能描述: 查询单指标的值
     * @Param:
     * @Return:
     * @Author: ZWC
     * @Date: 2023/12/26
     */
    IndexCalculationVo getIndex(IndexCalculationDto indexCalculationDto);

    IndexCalculationVo getIndexPreviousData(IndexCalculationDto indexCalculationDto);

    /**
     * 功能描述:列出每个机构的指标值
     * @param indexCalculationDto
     * @return
     */
    IndexCalculationVo getDeptIndex(IndexCalculationDto indexCalculationDto);

    /**
     * 功能描述: 查询医生指标明细数据
     * @Param:
     * @Return:
     * @Author: ZWC
     * @Date: 2024/1/18
     */
    IndexCalculationVo getDoctorIndex(IndexCalculationDto indexCalculationDto);

    /**
     * 功能描述: 查询诊室数据
     * @param indexCalculationDto 指标查询计算参数
     * @return IndexCalculationVo
     */
    IndexCalculationVo getRoomIndex(IndexCalculationDto indexCalculationDto);

    /**
     * 查询指标历史趋势
     * @param indexCalculationDto
     * @return
     */
    IndexCalculationVo getIndexTrend(IndexCalculationDto indexCalculationDto);

    /**
     * 查询元素趋势
     * @param indexCalculationDto
     * @return
     */
    IndexCalculationVo getElementTrend(IndexCalculationDto indexCalculationDto);

}
